#ifndef TOBJECT_H_H
#define TOBJECT_H_H

#include <string>
#include <vector>
using namespace std;

#include "TObjectList.h"

enum ItemType{
    ItemType_Int=1,
    ItemType_Float=2,
    ItemType_String=3,
    ItemType_Struct=4,
    ItemType_List=5,
    ItemType_Unknown=6
};

//class TObjectList;

class TObject
{
public:
    TObject();
    TObject(int obj);
    TObject(float obj);
    TObject(string obj);
    TObject(TObjectList * obj);

    virtual ~TObject();

    int getInt();
    float getFloat();
    string getString();
    TObject * getObject();
    TObjectList * getObjectList();
    ItemType getObjectType();
protected:
    typedef void * Object;

    Object m_data;
    ItemType m_itemType;
};
#endif
